package me.spring.cloud.components.starter.oauth2.backend;

import me.spring.cloud.components.starter.oauth2.backend.configuration.Oauth2CenterConfiguration;
import me.spring.cloud.components.starter.oauth2.backend.properties.JwtTokenProperties;
import me.spring.cloud.components.starter.oauth2.feign.EnableOAuth2ClientFeign;
import me.spring.cloud.components.starter.oauth2.princiapl.EnableOAuth2Principal;
import me.spring.cloud.components.starter.security.access.EnableSecurityAccess;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;

/**
 * @author luffy
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@EnableOAuth2Client
@EnableOAuth2ClientFeign
@EnableSecurityAccess
@EnableOAuth2Principal
@EnableConfigurationProperties(JwtTokenProperties.class)
@Import(Oauth2CenterConfiguration.class)
public @interface EnableOAuth2Center {

}
